#ifndef __AESECBSBOX256__
#define __AESECBSBOX256__

#include "../plainkeycipher.h"

// Test vectors from <http://csrc.nist.gov/groups/STM/cavp/documents/aes/KAT_AES.zip>

const std::vector <PlainKeyCipher> AES256_SBOX = {
    std::make_tuple("00000000000000000000000000000000", "c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558", "46f2fb342d6f0ab477476fc501242c5f"),
    std::make_tuple("00000000000000000000000000000000", "28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64", "4bf3b0a69aeb6657794f2901b1440ad4"),
    std::make_tuple("00000000000000000000000000000000", "c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c", "352065272169abf9856843927d0674fd"),
    std::make_tuple("00000000000000000000000000000000", "984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627", "4307456a9e67813b452e15fa8fffe398"),
    std::make_tuple("00000000000000000000000000000000", "b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f", "4663446607354989477a5c6f0f007ef4"),
    std::make_tuple("00000000000000000000000000000000", "1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9", "531c2c38344578b84d50b3c917bbb6e1"),
    std::make_tuple("00000000000000000000000000000000", "dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf", "fc6aec906323480005c58e7e1ab004ad"),
    std::make_tuple("00000000000000000000000000000000", "f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9", "a3944b95ca0b52043584ef02151926a8"),
    std::make_tuple("00000000000000000000000000000000", "797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e", "a74289fe73a4c123ca189ea1e1b49ad5"),
    std::make_tuple("00000000000000000000000000000000", "6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707", "b91d4ea4488644b56cf0812fa7fcf5fc"),
    std::make_tuple("00000000000000000000000000000000", "ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc", "304f81ab61a80c2e743b94d5002a126b"),
    std::make_tuple("00000000000000000000000000000000", "13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887", "649a71545378c783e368c9ade7114f6c"),
    std::make_tuple("00000000000000000000000000000000", "07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee", "47cb030da2ab051dfc6c4bf6910d12bb"),
    std::make_tuple("00000000000000000000000000000000", "90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1", "798c7c005dee432b2c8ea5dfa381ecc3"),
    std::make_tuple("00000000000000000000000000000000", "b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07", "637c31dc2591a07636f646b72daabbe7"),
    std::make_tuple("00000000000000000000000000000000", "fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e", "179a49c712154bbffbe6e7a84a18e220"),
};

#endif // __AESECBSBOX256__
